package comandos;

import model.Usuario;
import protocol.MensajeComando;
import client.ClienteSession;

public class CrearUsuario implements ComandoCliente 
{
	private Usuario usuario;
	private MensajeComando estadoOperacion;
	
	
	public synchronized void ejecutar (ClienteSession cliente, boolean invocadoPorServidor)
	{
	
			try
			{
				//Envio al servidor una peticion de creacion de usuario
				cliente.getOutput().writeObject(new MensajeComando ("crear_usuario",0));
				cliente.getOutput().flush();
				
				//Envio el usuario
				cliente.getOutput().writeObject(this.usuario);
				cliente.getOutput().flush();
				
				
				//Leo el resultado de la creacion por parte del servidor
				this.estadoOperacion = (MensajeComando)cliente.getInput().readObject();
				
				if (this.estadoOperacion.getEstado() == 1)
				{
					Usuario newUser = (Usuario)cliente.getInput().readObject();
					cliente.setUsuario(newUser);
				}
				
				
			}
			catch (Exception e)
			{
				e.printStackTrace();
			}

	}
	
	
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}


	public MensajeComando getEstadoOperacion() {
		return estadoOperacion;
	}


	public void setEstadoOperacion(MensajeComando estadoOperacion) {
		this.estadoOperacion = estadoOperacion;
	}
	
	
}
